Copyright: CPU Test Help file (by const)


HIDC_INSTRUCTIONS
CPU RightMark Инструкции по использованию

Перед использованием программы CPU RightMark для тестирования производительности вычислительной системы программу необходимо настроить.

•	Необходимо задать набор инструкций (FPU или SSE2) для блока моделирования физического процесса. Тогда результаты работы этого блока будут отражать производительность реализации заданного набора инструкций.

•	Необходимо выбрать набор инструкций для блока визуализации физического процесса (FPU + General MMX, FPU + Enhanced MMX, SSE + Enhanced MMX). Если предполагается анализировать скорость рисования сцены, то необходимо включить режим отрисовки в системную память, иначе на результаты будет оказывать влияние производительность видео системы. А именно скорость записи в видео память.

•	Необходимо настроить параметры отображения. Разрешение экрана, размер окна, использование текстур (для текстурирования используется MMX). Установить качество теней (тени и качественные тени реализованы с помощью SSE). И отключить свободную камеру, иначе скорость рисования будет зависеть от передвижения камеры.

•	Далее нужно выбрать физический процесс для моделирования. Задать величину шага по времени, которая будет использоваться при численном решении дифференциальных уравнений, и количество шагов моделирования системы между визуализацией.

•	Установить время тестирования, номер кадра, с которого начнётся измерение, и количество кадров в тесте. При задании времени работы теста следует учитывать, что стабильные повторяемые результаты возможны после полу минуты работы теста.


Методика тестирование
Методика тестирования

Данная программа моделирует в реальном времени поведение системы многих тел, взаимодействующих между собой по законам, аналогичным гравитационным, в среде, обладающей вязкостью.

При моделировании численно решается система дифференциальных уравнений такого вида:

Текущее состояние системы визуализируется при помощи программного графического движка VirtualRay (Spherical Engine), основанного на методе трассировки лучей.

Также тестируется производительность различных компонентов вычислительной системы на основе замера скорости работы различных блоков программы.

Блок решения системы дифференциальных уравнений (Solver) реализован в двух вариантах. Варианты имеют одинаковую функциональность, и различаются только набором используемых процессорных команд. Один вариант написан с использованием набора команд сопроцессора x87 (Task_FPU.dll), другой - SSE2 (Task_SSE2.dll).

Посредством замера скорости работы этого блока можно тестировать производительность системы процессор + память при выполнении математических расчётов с использованием действительных чисел двойной точности (double).

Используемый визуализатор имеет два относительно независимых блока, по-разному устроенных и различающихся набором используемых инструкций. Первый блок - блок предварительной обработки сцены (Prerendering) - написан на C++ и откомпилирован с использованием инструкций x87. Второй блок - блок трассировки лучей, отвечающих точкам экрана и отрисовки (rendering) - написан на ассемблере и имеет три варианта, оптимизированные под различные наборы инструкций. FPU+MMX вариант, FPU+EMMX вариант и SSE+EMMX вариант.

Посредством измерения скорости работы этих частей программы можно тестировать производительность системы при вычислениях, типичных для 3D графики, и производимых с использованием различных наборов инструкций. Практически все вычисления в графическом движке производятся с действительными числами одинарной точности (float).

Скорость предварительной обработки сцены (prerendering) отражает производительность системы при выполнении сложных алгоритмов, написанных на языках высокого уровня. Скорость трассировки лучей (rendering) показывает производительность при выполнении графических программ, оптимизированных под SSE и EMMX.

Отображение нового состояния моделируемой системы происходит по мере просчёта её поведения, через каждые n шагов численного решения уравнения. Поэтому, на более мощных системах процесс идёт быстрее, что наглядно видно, поскольку быстрее происходит эволюция модели.

Время прохождения теста также зависит от скорости отрисовки состояния моделируемой системы. При установке параметров, соответствующих высокому качеству изображения, время рисования может существенно возрасти, и вносить основной вклад в общее время работы программы.

Замечание к математической модели

Численное моделирование широко применяется для описания различных реальных систем. Подобное моделирование систем попарно взаимодействующих тел весьма сложно из-за квадратичного роста алгоритма. Так, для расчета эволюции задачи многих гравитирующих тел строятся специализированные суперкомпьютеры. Однако мощь современных персональных компьютеров достаточна для просчета системы из не очень большого числа объектов.

Данная численная схема поддерживает различные виды потенциалов парного взаимодействия. Взаимодействие описывается тремя вкладами:

1.	Вкладом, пропорциональным 1/R (легко видеть, что соответствующий потенциал неограниченно растет на бесконечности)

2.	Вкладом, пропорциональным 1/(R*R) (это сила гравитационного или кулоновского взаимодействия)

3.	Расстоянием, на котором сила притяжения сменяется отталкиванием. Данный вклад сделан для стабилизации решений с вязкостью (иначе потенциальная энергия могла неограниченно убывать, ведя к росту кинетической энергии и разбалтыванию схемы).

Кроме того, тела находятся в среде, которая обладает вязкостью.


Файл настроек
Описание файла с настройками

Секция [common]

ShowSplash=1	; показывает экран заставки при запуске программы. В этом экране можно выбрать язык пользовательского интерфейса (см. ниже)

Windowed=1	; флажок для служебного использования. Если значение не 0, то в диалоге установки появляется флажок, позволяющий выбрать работу теста в окне, применяемую для целей отладки.

FontSize=0	; размер шрифта, используемого для описания моделей

FontName=Arial Narrow	; название шрифта, используемого для описания моделей

Language=russian	; название языка используемого пользовательского интерфейса, совпадает с именем библиотеки ресурсов, содержащей соответствующие строки, диалоговые темплеты и т.п.

DemoName=P4Logo	; название модуля, запускаемого в демонстрационном режиме.

Videomode=1024x768	; выставляемый по умолчанию видеорежим, при котором работает тест. Используется при прогоне серии тестов с различными выбранными инструкциями процессора.

Секция [modules]	; в зависимости от выбранного набора инструкций Решателя (FPU, SSE2, Demo) запускается одна из библиотек, указанных ниже. При желании можно подключить любую другую библиотеку с другой реализацией. Спецификации интерфейса можно найти в прилагаемых исходных текстах.

commandset0=task_FPU.dll

commandset3=task_SSE2.dll

commandset100=task_demo.dll

Секция [languages]	; дается список всех поддерживаемых языков интерфейса и строка названия, которая появляется в списке на панели выбора языка.

default=English (default)

russian=Russian


Нажмите эту кнопку, чтобы сохранить результат на диске.


Выберите модель для теста по ее названию. Ниже можно прочитать краткое описание ее функционирования.


Выберите это положение переключателя для задействования в коде теста инструкций сопроцессора.


Выберите это положение переключателя для задействования в коде теста набора инструкций MMX.


Выберите это положение переключателя для задействования в коде теста расширенного набора инструкций EMMX.


Выберите это положение переключателя для задействования в коде теста набора инструкций SSE.


Выберите это положение переключателя для задействования в коде теста набора инструкций SSE2.


Выберите это положение переключателя для запуска программы в демонстрационном режиме.


Этот флажок определяет наличие теней в прорисованной трехмерной модели.


Этот флажок определяет наличие качественных теней в прорисованной трехмерной модели. Действует при включенном флажке теней.


Этот флажок определяет наличие текстур в прорисованной трехмерной модели.


При включении этого флажка камера становится подвижной и появляется возможность перемещаться по сцене.


Включается специальный режим тестирования с обрисовкой в системную память, позволяющий не зависеть от производительности видеокарточки.


Число кадров, прошедших с момента нажатия кнопки OK до начала теста. Допустимые значения от 10 (~1 секунда) до 1000 (~1 минута).


Число кадров, показанных во время теста. Допустимые значения от 10 (~1 секунда) до 1000000 (~10 часов).


Количество итераций между вызовом функции отрисовки системы. Допустимые значения от 1 до 1000, значение по умолчанию – 10.


Шаг по времени, вносящий изменение в сцену. Значение от 0.5 миллисекунд.


Этот флажок определяет появление экрана с заставкой, настраивающей язык пользовательского интерфейса.


Этот флажок задает оконный режим показа тестовой картинки. Применяется для целей отладки.


Выберите разрешение экрана для прогона теста. Показаны все разрешения, поддерживаемые программным интерфейсом DirectDraw.


Процентное значение области отрисовки экрана по горизонтали. Минимальное значение – 10.


Процентное значение области отрисовки экрана по вертикали. Минимальное значение – 10.


Диаграмма с результатами прогона тестов.